{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## _*H2 energy with various RY and RYRZ variational forms*_\n",
    "\n",
    "This notebook demonstrates using Qiskit Chemistry to plot graphs of the ground state energy of the Hydrogen (H2) molecule using VQE with different variation form configurations. The results are compared to the same energy as computed by the NumPyMinimumEigensolver \n",
    "\n",
    "This notebook has been written to use the PYSCF chemistry driver."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Hartree-Fock energy: -1.1173432691225826\n",
      "FCI energy: -1.1372213770723036\n"
     ]
    }
   ],
   "source": [
    "import numpy as np\n",
    "import pylab\n",
    "from qiskit import BasicAer\n",
    "from qiskit.circuit.library import TwoLocal\n",
    "from qiskit.aqua import aqua_globals, QuantumInstance\n",
    "from qiskit.aqua.algorithms import NumPyMinimumEigensolver, VQE\n",
    "from qiskit.aqua.components.optimizers import COBYLA\n",
    "from qiskit.aqua.components.initial_states import Zero\n",
    "from qiskit.chemistry.drivers import PySCFDriver\n",
    "from qiskit.chemistry.core import Hamiltonian, QubitMappingType\n",
    "\n",
    "var_forms = ['RYRZ', 'RY']\n",
    "entanglements = ['full', 'linear']\n",
    "depths = [x for x in range(3, 11)]\n",
    "\n",
    "energies = np.empty([len(var_forms), len(entanglements), len(depths)])\n",
    "hf_energy = None\n",
    "energy = None\n",
    "eval_counts = np.empty([len(var_forms), len(entanglements), len(depths)])\n",
    "\n",
    "aqua_globals.random_seed = 50\n",
    "\n",
    "driver = PySCFDriver('H .0 .0 -0.3625; H .0 .0 0.3625', basis='sto3g')\n",
    "qmolecule = driver.run()\n",
    "operator =  Hamiltonian(qubit_mapping=QubitMappingType.JORDAN_WIGNER, two_qubit_reduction=False)\n",
    "qubit_op, aux_ops = operator.run(qmolecule)\n",
    "result = NumPyMinimumEigensolver(qubit_op).run()\n",
    "result = operator.process_algorithm_result(result)\n",
    "    \n",
    "hf_energy = result.hartree_fock_energy\n",
    "energy = result.energy\n",
    "print('Hartree-Fock energy:', hf_energy)\n",
    "print('FCI energy:', energy)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "With a reference FCI energy computed from NumPyMinimumEigensolver we now compute the ground state energy with VQE and different variational form setups"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Processing step  7 --- complete\n",
      "Depths:  [3, 4, 5, 6, 7, 8, 9, 10]\n",
      "Energies: [[[-1.11734327 -1.13714653 -1.13722128 -1.13722133 -1.13722136\n",
      "   -1.13722132 -1.13722137 -1.13722137]\n",
      "  [-1.13721148 -1.1372177  -1.13718438 -1.1369888  -1.13722035\n",
      "   -1.13711864 -1.13703044 -1.13722083]]\n",
      "\n",
      " [[-1.13721599 -1.137217   -1.13722137 -1.13722112 -1.13722128\n",
      "   -1.13722136 -1.13722136 -1.13722137]\n",
      "  [-1.13722134 -1.13722134 -1.13722135 -1.13722137 -1.13722137\n",
      "   -1.13722137 -1.13722137 -1.13722137]]]\n",
      "Num evaluations: [[[  806. 10000.  7295.  5101.  3070.  5243.  2727.  2782.]\n",
      "  [10000. 10000. 10000. 10000. 10000. 10000. 10000. 10000.]]\n",
      "\n",
      " [[ 8795.  7668.   823.  4602.  1868.  1376.  1433.  1087.]\n",
      "  [ 1169.  1003.  1109.   630.   553.   592.   781.   745.]]]\n"
     ]
    }
   ],
   "source": [
    "print('Processing step __', end='')\n",
    "for i, d in enumerate(depths):\n",
    "    print('\\b\\b{:2d}'.format(i), end='', flush=True)\n",
    "    for j in range(len(entanglements)):\n",
    "        for k in range(len(var_forms)):\n",
    "            variational_form_cls = var_forms[k] \n",
    "        \n",
    "            driver = PySCFDriver('H .0 .0 -0.3625; H .0 .0 0.3625', basis='sto3g')\n",
    "            qmolecule = driver.run()\n",
    "            operator =  Hamiltonian(qubit_mapping=QubitMappingType.JORDAN_WIGNER, two_qubit_reduction=False)\n",
    "            qubit_op, aux_ops = operator.run(qmolecule)\n",
    "            optimizer = COBYLA(maxiter=10000)\n",
    "            initial_state = Zero(qubit_op.num_qubits)\n",
    "            rotation_blocks = ['ry', 'rz'] if var_forms[k] == 'RYRZ'else 'ry'\n",
    "            var_form = TwoLocal(qubit_op.num_qubits, rotation_blocks, 'cz', reps=d, entanglement=entanglements[j])\n",
    "            algo = VQE(qubit_op, var_form, optimizer)\n",
    "            result = algo.run(QuantumInstance(BasicAer.get_backend('statevector_simulator'),\n",
    "                                seed_simulator=aqua_globals.random_seed,\n",
    "                                seed_transpiler=aqua_globals.random_seed))\n",
    "            eval_counts[k][j][i] = result.optimizer_evals\n",
    "            result = operator.process_algorithm_result(result)\n",
    "            energies[k][j][i] = result.energy\n",
    "    \n",
    "print(' --- complete')\n",
    "\n",
    "print('Depths: ', depths)\n",
    "print('Energies:', energies)\n",
    "print('Num evaluations:', eval_counts)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "for k in range(len(var_forms)):\n",
    "    for j in range(len(entanglements)):\n",
    "        pylab.plot(depths, energies[k][j]-energy, label=var_forms[k]+' + '+entanglements[j])\n",
    "pylab.xlabel('Variational form depth')\n",
    "pylab.ylabel('Energy difference')\n",
    "pylab.yscale('log')\n",
    "pylab.title('H2 Ground State Energy Difference from Reference')\n",
    "pylab.legend(loc='upper right');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The above plot shows how close the ground state energy result from VQE was to the reference. The next plot shows how many evaluations (calls to the objective/cost function) were needed by the optimizer before it stopped and returned. Note that the optimzer was configured with a maximum number of iterations of 10,000. The COBYLA optimizer makes one evaluation per iteration and it can be seen that for some points that the iteration limit was reached which caused the optimizer to return."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "for k in range(len(var_forms)):\n",
    "    for j in range(len(entanglements)):\n",
    "        pylab.plot(depths, eval_counts[k][j], '-o', label=var_forms[k]+' + '+entanglements[j])\n",
    "pylab.xlabel('Variational form depth')\n",
    "pylab.ylabel('Evaluations')\n",
    "pylab.title('VQE number of evaluations')\n",
    "pylab.legend(loc='upper right');"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
